Optimized deployment of parts in a distribution network

ABSTRACT

A method for deploying parts is disclosed. Locations that include supply locations and demand locations are defined. A supply location supplies parts to a demand location. A demand is computed for each part at each location. An availability lead-time is estimated for each part at each location. A lead-time demand is computed for each part at each location using the availability lead-times for the part. A stock level is computed for each part at each location. A completely filled demand is determined from the lead-time demands and the stock levels, and a partially filled demand is determined from the lead-time demands and the stock levels. A coverage function for the parts at the locations is generated from the completely filled demand and the partially filled demand.

RELATED APPLICATIONS

This application claims benefit under 35 U.S.C. § 119(e) of U.S.Provisional Application Ser. No. 60/243,659, filed Oct. 26, 2000,entitled “SYSTEM AND METHOD FOR OPTIMIZED DEPLOYMENT OF INVENTORY, ORREDISTRIBUTION OF EXISTING INVENTORY, ACROSS A MULTI-ECHELONDISTRIBUTION NETWORK.”

This application is related to U.S. patent application Ser. No.10/033,103, entitled “REDISTRIBUTION OF PARTS IN A DISTRIBUTIONNETWORK,” by Rosa H. Birjandi, et al., which was filed on Oct. 25, 2001.

TECHNICAL FIELD OF THE INVENTION

This invention relates generally to the field of inventory distributionnetworks and more specifically to optimized deployment of parts in adistribution network.

BACKGROUND OF THE INVENTION

Distribution networks may include one or more locations that receiveparts from a vendor and distribute the parts within the distributionnetwork in order to provide a customer with a product. The parts may be,for example, manufactured into a product within the distributionnetwork. Distribution networks may include locations that both supplyparts to and receive parts from other locations. Performance at eachlocation is thus affected by the performance at its suppliers. As aresult, maintaining an optimal inventory of parts at each location thatbest serves the customer while minimizing inventory costs poses achallenge for inventory managers.

SUMMARY OF THE INVENTION

In accordance with the present invention, disadvantages and problemsassociated with inventory deployment and redistribution techniques arereduced or eliminated.

According to one example of the present invention, a method fordeploying parts is disclosed. Locations that include supply locationsand demand locations are defined. A supply location supplies parts to ademand location. A demand is computed for each part at each location. Anavailability lead-time is estimated for each part at each location. Alead-time demand is computed for each part at each location using theavailability lead-times for the part. A stock level is computed for eachpart at each location. A completely filled demand is determined from thelead-time demands and the stock levels, and a partially filled demand isdetermined from the lead-time demands and the stock levels. A coveragefunction for the parts at the locations is generated from the completelyfilled demand and the partially filled demand.

Certain examples of the invention may provide one or more technicaladvantages. The present invention may be used to determine an optimizedinventory deployment plan that describes the inventory at each locationof a distribution network. The inventory deployment plan may optimizethe ability of the distribution network to satisfy customer demand whileconforming to business constraints. The inventory deployment plan maymaximize the ability of the distribution network to fill orders, whichmay be calculated by minimizing the expected backorder of thedistribution network. The present invention may be used to formulate acoverage function that is optimized to determine an optimized inventorydeployment plan. Coverage may be used as a measure of customer servicethat describes the expected ability of each location to completely orpartially fill a demand for a part. The present invention may be used tocompute the expected number of partially and completely backordereddemand for a part.

The present invention may be used to calculate a net demand for a partat a location that accounts for dependent demands and independentdemands. A dependent demand at a location describes the parts that thelocation supplies to other locations in the distribution network, and anindependent demand at a location describes the parts used at thelocation. Incorporating the independent and dependent demand into thedemand may provide for a more accurate calculation of the demand. Thepresent invention may be used to calculate a demand for a part at alocation that takes into account the probability that the part isrepaired and placed back into the inventory at the location. By takinginto account the repaired parts, the calculation of the demand may bemore accurate.

The present invention may be used to calculate the availabilitylead-time for a part at any number of supply locations. The demandlocation may order a certain proportion of parts from the supplylocations in a particular order. The computation of the availabilitylead-time takes into account the probability that a supply locationsupplies the part, given that no other supply location has supplied thepart, which may provide a more realistic calculation of availabilitylead-time. The replenishment lead-time at a demand end point may becomputed as the availability lead-time at its supplier plus the transferlead-time from the supplier to the demand end point.

The present invention may be used to calculate the expected number ofbackordered demand for a part at a location from the partiallybackordered and completely backordered demand. An equivalence relationbetween maximizing the coverage function and minimizing the sum ofbackorders may be determined.

Other technical advantages may be readily apparent to one skilled in theart from the figures, descriptions and claims included herein.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and itsfeatures and advantages, reference is now made to the followingdescription, taken in conjunction with the accompanying drawings, inwhich:

FIG. 1 illustrates an example distribution network for deploying andredistributing inventory of one or more parts among one or morelocations;

FIG. 2 illustrates an example system that generates optimized inventorydeployment and redistribution plans;

FIG. 3 illustrates an example method for deploying and redistributinginventory of one or more parts among one or more locations;

FIG. 4 illustrates an example method for calculating a demand for one ormore parts at one or more locations;

FIG. 5 illustrates an example method for estimating the availability ofone or more parts at one or more locations; and

FIG. 6 illustrates an example method for generating a coverage functionfor one or more parts at one or more locations.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example distribution network 20 for deploying andredistributing inventory of one or more parts among one or morelocations 22. Distribution network 20 includes locations 22 thatdistribute parts throughout distribution network 20. A part maycomprise, for example, a product, a portion of a product, a device usedto manufacture a product, or any other suitable item that may bedistributed from one location 22 to another location 22 in distributionnetwork 20.

In one embodiment, locations 22 include a central location 22 a and oneor more warehouse locations 22 b-d. Although central location 22 a andwarehouse locations 22 b-d are illustrated, distribution network 20 mayinclude any suitable number of central locations 22 and warehouselocations 22. Each location 22 may comprise a supply location and/or ademand location. A supply location supplies a part to a demand location,and may supply the part in response to an order for the part sent fromthe demand location. For example, warehouse location 22 b supplies partsto warehouse location 22 d, and warehouse locations 22 b-c supply partsto location 22 d. A location 22 may comprise both a demand location anda supply location. For example, warehouse location 22 b receives partsfrom central location 22 a and supplies parts to warehouse location 22d. A supply endpoint such as central location 22 a receives parts fromone or more external supplies 24, for example, a vendor, and distributesthe parts to warehouse locations 22 b-d. A demand endpoint such aswarehouse location 22 d provides parts to one or more external demands32, for example, a customer.

Warehouse locations 22 b-d may include supply operations 26 b-d and/orrepair operations 28 b-d. A supply operation 26 sends an order for apart to a supply location, which in response sends the part to supplyoperation 26. A repair operation 28 may receive a broken part fromsupply operation 26 and send the broken part to a repair center 30.Repair center 30 repairs the part and sends the repaired part to, forexample, central location 22 a or back to supply operation 26 b.Alternatively, repair operation 28 d may receive a broken part fromsupply operation 26 d, repair the part, and send the repaired part backto supply operation 26 d.

The inventory for each part at each location 22 is monitored,continuously or periodically. In response to the inventory falling belowa predetermined level, an order is placed to bring the inventoryposition back up to a target level such as an optimized inventory level.A method for deploying and redistributing inventory of one or more partsamong one or more locations to achieve optimized inventory levels isdescribed in more detail with reference to FIG. 2.

FIG. 2 illustrates an example system 34 that generates optimizedinventory deployment and redistribution plans. An inventory deploymentplan describes a distribution of parts among locations 22 ofdistribution network 20, and an inventory redistribution plan describesa manner of redistributing parts to satisfy an inventory deploymentplan. Deployment may occur independently of redistribution. That is,inventory may be deployed, without ever being redistributed.Additionally, redistribution may redistribute parts according to anysuitable inventory plan.

System 34 may include a computer system 35, a server 36, and a database37, which may share data storage, communications, or other resourcesaccording to particular needs. Computer system 35 may includeappropriate input devices, output devices, mass storage media,processors, memory, or other components for receiving, processing,storing, and communicating information according to the operation ofsystem 34. As used in this document, the term “computer” is intended toencompass a personal computer, workstation, network computer, wirelessdata port, wireless telephone, personal digital assistant, one or moremicroprocessors within these or other devices, or any other suitableprocessing device.

Server 36 manages applications that generate optimized inventorydeployment and redistribution plans. Server 36 includes one or moresoftware components such as a pre-processing module 38 and a solver 39.Pre-processing module 38 manages input and output operations, andcomputes a net demand and a replenishment lead-time for each part ateach location 22. Pre-processing module 38 computes a demand overlead-time, or lead-time demand, related to a number of parts in apipeline. Pre-processing module 38 also generates mathematicalformulations, which are transmitted to solver 39 for solving.

Pre-processing module 38 may include a deployment module 40 and aredistribution module. Deployment module 40 may be used to generate acoverage function that describes the distribution of parts amonglocations 22. Solver 39 optimizes the coverage function to determine anoptimized distribution of parts. Solver 39 may comprise any suitablemathematical programming solver such as CPLEX by ILOG, INC.Redistribution module may be used to generate a transfer function thatdescribes the cost of transferring parts among locations 22. Solver 39optimizes the transfer function to determine an optimized manner ofredistributing parts. As noted above, deployment may occur independentlyof redistribution. That is, inventory may be deployed, without everbeing redistributed. Additionally, redistribution may redistribute partsaccording to an inventory plan generated by deployment module 40 oraccording to any suitable inventory plan.

Database 40 stores data that may be used by server 36. Data may include,for example, the history of the demand for each part at each location22, the lead-time required to transport a part from one location 22 toanother location 22, and the maximum space capacity at location 22.Computing system 35 and database 40 may be coupled to server 36 usingone or more local area networks (LANs), metropolitan area networks(MANs), wide area networks (WANs), a global computer network such as theInternet, or any other appropriate wired, optical, wireless, or otherlinks.

FIG. 3 illustrates an example method for deploying and redistributinginventory of one or more parts among one or more locations 22.Deployment may occur independently of redistribution. That is, inventorymay be deployed, without ever being redistributed. Additionally,redistribution may redistribute parts according to the inventorydeployment plan described in connection with FIG. 3, or according to anysuitable inventory plan.

Processing module 38 initiates the method at step 46 by defining anumber 1, 2, . . . , i, . . . , I of parts and a number 1, 2, . . . , j,. . . , J of locations 22. For example, j=1, 2, 3 and 4 and refer towarehouse locations 22 a-d, respectively. At step 48, data is accessedfrom database 37. Data may include, for example, a demand history ofeach part at each location 22. The demand history may describe the partsthat each location 22 requires. Data may include repair history that maydescribe the capability of each location 22 to repair a part. Data mayinclude the paths that may be used to transfer parts between locations22, along with the costs associated with transporting parts along thepaths. Data may include the cost of purchasing a part, the cost ofstoring a part in the location as a percentage of the purchase cost forthe part, and a cost associated with ordering a part.

At step 50, a demand for each part at each location 22 is calculated.The demand may include a dependent demand and an independent demand. Adependent demand at location 22 describes the parts that location 22supplies to other locations 22. An independent demand at location 22describes parts used at location 22. The demand at location 22 mayaccount for the probability that a part is repaired and placed back intothe inventory at location 22. Demand may be calculated by starting at ademand endpoint and ending at a supply endpoint of distribution network20. A method for calculating a demand for a part at each location 22 isdescribed in more detail with reference to FIG. 4.

A replenishment lead-time for each part at each location 22 iscalculated at step 52. The replenishment lead-time for a part atlocation 22 describes the time required for location 22 to receive thepart from another location 22. The replenishment lead-time may becomputed by starting at a supply endpoint and ending at a demandendpoint. An availability lead-time for each part at each location 22 isestimated at step 54. The availability lead-time at a location 22describes a waiting time due to back order at location 22 plus thetransfer lead-time from a supplier to location 22 and the replenishmentlead-time for the supplier of location 22. A method for estimating theavailability lead-time of a part at location 22 is described in moredetail with reference to FIG. 5.

A coverage function is determined at step 56. The coverage functiondescribes the expected ability of a location 22 to completely orpartially fill an order for a part, and may be determined from thedemand, availability lead-time of the part, and inventory level for thepart at location 22. The coverage function may be described using theexpected backorder of the part at location 22. A method for determininga coverage function is described in more detail with reference to FIG.6. Solver 39 optimizes the coverage function at step 58. Optimizing thecoverage function may be accomplished by minimizing the expectedbackorder. At step 60, an optimized inventory for each part at eachlocation 22 is determined from the optimized coverage function. At step61, solver 39 reports the optimized inventory for each part at eachlocation 22. As noted above, deployment may occur independently ofredistribution. That is, inventory may be deployed, without ever beingredistributed.

At step 62, redistribution module determines whether redistribution isrequired by calculating an excess and deficit for each part at eachlocation 22 from the actual inventory and the optimal deployment.Redistribution of the inventory may be required if, for example, theactual inventory at each location 22 does not match the optimizedinventory calculated for each location 22. As noted above,redistribution may redistribute parts according to the optimizedinventory reported at step 61, or according to any suitable inventoryplan. If redistribution is not required, deployment module 40 proceedsto step 63 to report any excess inventory and a recommendation to notperform a redistribution of parts. After reporting the result, themethod is terminated. If redistribution is required, redistributionmodule proceeds to step 64 to check the transitions between locations22. The transitions describe paths that may be used to transfer partsfrom one location 22 to another location 22.

At step 66, a transfer function describing the transfer of parts betweenlocations 22 is optimized. Minimizing the total costs associated withtransporting the parts may optimize the transfer function. A method fordetermining optimized transfer plans for transferring parts betweenlocations 22 is described in more detail with reference to FIG. 7. Atstep 70, the optimized transfer plans, the resulting inventory levels,and possible excess in inventory of parts in the network are reported.After reporting the result, the method is terminated.

FIG. 4 illustrates an example method for calculating a demand for one ormore parts at one or more locations 22. Deployment module 40 initiatesthe method at step 80 by selecting a part i. A location j is selected atstep 82. Location j may be selected such that the demand at a demandendpoint is calculated first, and the demand at a supply endpoint iscalculated last.

At step 84, an independent and a dependent demand for part i at locationj is determined. The independent demand for part i at location j may berepresented by λ′_(ij). The dependent demand for part i at location jmay be represented λ_(ik), where k is a demand end point for location j.At step 86, the repair capability r_(ij) for part i at location j isdetermined. The repair capability r_(ij) may be determined from theproportion of demand for part i at location j that is repairable atlocation j. Demand is calculated at step 88. Starting with demand endpoints j, demand λ_(ij) for part i is equal to its independent demand.For any location j that is not a demand end point, the demand λ_(ij) forpart i may be calculated using Equation (1):

$\begin{matrix}{\lambda_{ij} = {\lambda_{ij}^{\prime} + {\sum\limits_{k\mspace{14mu}{is}\mspace{14mu} a\mspace{14mu}{demand}\mspace{14mu}{point}\mspace{14mu}{for}\mspace{14mu} j}\;{\left( {1 - r_{ik}} \right)\lambda_{ik}}}}} & (1)\end{matrix}$

At step 92, deployment module 40 determines whether there is a next partfor which a demand is to be determined. If there is a next part,deployment module 40 returns to step 80 to select the next part. Ifthere is no next part, deployment module 40 proceeds to step 94 tooutput the calculated demand for each part at each location. Afteroutputting the demand, the method is terminated.

FIG. 5 illustrates an example method for estimating the availabilitylead-time of one or more parts at one or more locations 22. Deploymentmodule 40 initiates the method at step 102 by selecting a part i. Ademand location j is selected at step 104, and a supply location l_(k)is selected at step 106. The supply location l_(k) may be selected froma prioritized list of n of supply locations l_(l), . . . , l_(n). Foreach supply location l_(k), the list may describe a proportion C_(ilkj)of a demand for part i at demand location j that is scheduled to besatisfied by supply location l_(k), a probability α_(ilkj) that part iis filled at supply location l_(k) for demand location j, and alead-time T_(ilkj) for a part i to flow from supply location l_(k) todemand location j. Demand location j and supply location l_(k) may beselected such that the availability lead-time at a supply endpoint iscalculated first, and the availability lead-time at a demand endpoint iscalculated last.

At step 108, a probability P_(ilkj) of a supply location l_(k) fillingan order for part i placed by a demand location j, given that the orderis not filled by another supply location, is calculated. The probabilityP_(illj) for supply location l_(l) may be computed using Equation (2):P_(il) ₁ _(j)=α_(il) ₁ _(j)C_(il) ₁ _(j)

At step 110, deployment module 40 determines whether there is a nextsupply location l_(k). If there is a next supply location, deploymentmodule 40 returns to step 106 to select the next supply location. Theprobability P_(ilkj) of the next supply location l_(k) filling an orderfor part i placed by demand location j, given that the order is notfilled by another supply location, may be computed at step 108 using theprocess described by recursive Equations (3):P_(il) _(k) _(j)=α_(il) _(k) _(j)C_(l) _(k) _(j)whereC′_(il) ₁ _(j)=C_(il) ₁ _(j)C′ _(il) _(k) _(j) C _(il) _(k) _(j)+(1−α_(il) _(k-1) _(j))C _(il)_(k-1) _(j) for k>1  (3)If there is no next supply location at step 110, deployment module 40proceeds to step 112 to output the probabilities of the supply locationsl_(k) fulfilling an order placed by demand location j.

At step 113, an availability lead-time T_(ij) for each location j iscalculated. Availability lead-time T_(ij) may be calculated according torecursive Equation (4):

$\begin{matrix}{T_{ij} = {\sum\limits_{k = 1}^{n}\;{\left( {T_{{il}_{k}j} + {\frac{{EBO}_{{il}_{k}}\left( S_{{il}_{k}} \right)}{\lambda_{{il}_{k}}}T_{{il}_{k}}}} \right)P_{{il}_{k}j}}}} & (4)\end{matrix}$The expected number of completely backordered demand B_(c) may bedescribed by Equation (5):

$\begin{matrix}{{E\; B\; O_{c}} = {\chi{\sum\limits_{x = S_{ij}}^{\infty}\;{x\;{P\left( X \middle| \mu_{ij} \right)}}}}} & (5)\end{matrix}$where P(X|μ_(ij))=e^(−μ) ^(ij) μ_(ij) ^(x)/x! is the Poisson probabilitymass function for the distribution of demand with mean μ_(ij), μ_(ik)represents the mean number of parts i in the pipeline at supply locationk. The expected number of partially backordered demand B_(p) for part iat location j may be described by Equation (6):

$\begin{matrix}{{EBO}_{p} = {\left( {1 - \chi} \right){\sum\limits_{x = S_{ij}}^{\infty}{\left( {x - S_{ij}} \right){P\left( X \middle| \mu_{ij} \right)}}}}} & (6)\end{matrix}$The expected number of backorders EBO (S_(ij)) having the stock levelS_(ij) of part i at location j may be defined using Equation (7):

$\begin{matrix}\begin{matrix}{{E\; B\;{O\left( S_{i\; j} \right)}} = {= {{\chi{\sum\limits_{x = S_{i\; j}}^{\infty}\;{x\;{P\left( X \middle| \mu_{i\; j} \right)}}}} + {\left( {1 - \chi} \right){\sum\limits_{x = S_{i\; j}}^{\infty}{\left( {x - S_{i\; j}} \right){P\left( X \middle| \mu_{i\; j} \right)}}}}}}} \\{= {\sum\limits_{x = S_{i\; j}}^{\infty}{\left( {x - {\chi\; S_{i\; j}}} \right){{P\left( X \middle| \mu_{i\; j} \right)}.}}}}\end{matrix} & (7)\end{matrix}$

At step 114, the replenishment lead-time θ_(ij) for part i at demandlocation j is calculated. The replenishment lead-time θ_(ij) for part iat location j may be calculated using Equation (8):θ_(ij) =r _(ij)τ_(ij)+(1−r _(ij))T _(ij)  (8)where τ_(ij) represents the repair lead-time for part i at demandlocation j. The lead-time demand μ_(ij) of a part i at demand location jis estimated at step 116. The lead-time demand is related to a number ofparts in a pipeline. The lead-time demand may be estimated usingEquation (9):μ_(ij)=λ_(ij)θ_(ij)  (9)

At step 118, deployment module 40 determines whether there is a nextdemand location. If there is a next demand location, deployment module40 returns to step 104 to select the next demand location. If there isno next demand location, deployment module 40 proceeds to step 120 todetermine whether there is a next part. If there is a next part,deployment module 40 returns to step 102 to select the next part. Ifthere is no next part, deployment module 40 proceeds to step 122 toreport the lead-time demand of each part at each location 22. Afterreporting the lead-time demand, the method is terminated.

FIG. 6 illustrates an example method for generating a coverage functionfor one or more parts at one or more locations 22. Deployment module 40initiates the method at step 132 by selecting a locations. A part i isselected at step 134.

At step 136, a completely filled demand D_(c) for part i at location jis calculated at step 136. A completely filled demand D_(c) may bedescribed by Equation (10):

$\begin{matrix}{D_{c} = {\sum\limits_{x = 0}^{S_{i\; j} - 1}{x\;{P\left( X \middle| \mu_{i\; j} \right)}}}} & (10)\end{matrix}$where P(X|μ_(ij))=e^(−μ) ^(ij) μ_(ij) ^(x)/x! is the Poisson probabilitymass function for the distribution of demand with mean μ_(ij). Apartially filled demand D_(p) for part i at location j is calculated atstep 138. The partially filled D_(p) demand may be described by Equation(11):

$\begin{matrix}{D_{p} = {{\chi\left( {S_{i\; j} - 1} \right)}\left\lbrack {1 - {\sum\limits_{x = 0}^{S - 1}{P\left( X \middle| \mu_{i\; j} \right)}}} \right\rbrack}} & (11)\end{matrix}$where χ is the percentage of partial fill allowed for a part. At step140, a coverage function for part i at location j is determined. Thecoverage function for part i at locations describes the expectedproportion filled demand for part i of location j, and may be expressedusing Equation (12):

$\begin{matrix}{{\left\{ {{\sum\limits_{x = 0}^{S_{i\; j}}{x\;{P\left( X \middle| \mu_{i\; j} \right)}}} + {\chi{\sum\limits_{x = S}^{\infty}{\left( {S_{i\; j} - 1} \right){P\left( X \middle| \mu_{i\; j} \right)}}}}} \right\}/\mu_{i\; j}} = {\left\{ {{\sum\limits_{x = 0}^{S_{i\; j}}{\left( {x - {\chi\left( {S_{i\; j} - 1} \right)}} \right){P\left( X \middle| \mu_{i\; j} \right)}}} + {\chi\left( {S_{i\; j} - 1} \right)}} \right\}/\mu_{i\; j}}} & (12)\end{matrix}$

At step 142, deployment module 40 determines whether there is a nextpart. If there is a next part, deployment module 40 returns to step 134to select the next part. If there is no next part, deployment module 40proceeds to step 144 to determine whether there is a next location. Ifthere is a next location, deployment module 40 returns to step 132 toselect the next location. If there is no next location, deploymentmodule 40 proceeds to step 146 to determine the coverage function forthe number of parts at the number of locations. The coverage functionmay be expressed as the weighted average of coverage for the parts atlocations. The coverage function for the parts at the locations may beexpressed by Expression (13):

$\begin{matrix}{\sum\limits_{j = 1}^{J}{\left\{ {{\sum\limits_{i = 1}^{I}{\beta_{i}{\sum\limits_{x = 0}^{S_{i\; j}}{\left\lbrack {x - {\chi\; S_{i\; j}}} \right\rbrack{P\left( X \middle| \mu_{i\; j} \right)}}}}} + {\chi\; S_{i\; j}}} \right\}/{\sum\limits_{i = 1}^{I}\mu_{i\; j}}}} & (13)\end{matrix}$where β_(i) represents a weight of part i, which may be based on animportance measure of part i. At step 148, constraints for the coveragefunction may be defined. Constraints may include, for example, thefollowing:

a. The weighted average of coverage for the parts at each location j isgreater than or equal to the coverage target ω_(j) at location j, whichmay be expressed by Expression (13a):

$\begin{matrix}{{{\left\lbrack {\sum\limits_{i = 1}^{I}\left\{ {{\sum\limits_{x = 0}^{S_{i\; j}}{\left\lbrack {x - {\chi\; S_{i\; j}}} \right\rbrack{P\left( X \middle| \mu_{i\; j} \right)}}} + {\chi\; S_{i\; j}}} \right\}} \right\rbrack/{\sum\limits_{i = 1}^{I}\mu_{i\; j}}} \geq \omega_{j}},{\forall j}} & \left( {13a} \right)\end{matrix}$

b. The coverage for each part i at each location j is greater than orequal to the coverage target for part i at location j, which may beexpressed by Expression (13b):

$\begin{matrix}{{{{\sum\limits_{x = 0}^{S_{i\; j}}{\left\lbrack {x - {\chi\; S_{i\; j}}} \right\rbrack{P\left( X \middle| \mu_{i\; j} \right)}}} + {\chi\; S_{i\; j}}} \geq {\alpha_{j}\mu_{i\; j}}},{\forall i},{\forall j}} & \left( {13b} \right)\end{matrix}$

c. The number of new purchases for a part i, X_(ij), at location j,which may be expressed by Expression (13c):X _(ij) =[S _(ij)+γ_(i)λ_(ij) −Y _(ij)]⁺ ,∀i,∀j  (13c)where γ_(j) represents a proportion of a demand for a failed part i, and(x)⁺=max (0,x).

d. The inventory investment at each location j is less than or equal tothe inventory investment limit Inv_(j) for location j, which may beexpressed by Expression (13d):

$\begin{matrix}{{{\sum\limits_{i = 0}^{I}{C_{i}\left( {S_{i\; j} + {\gamma_{i}\lambda_{i\; j}} - Y_{i\; j}} \right)}} \leq {Inv}_{j}},{\forall j}} & \left( {13d} \right)\end{matrix}$where C_(i) represents a purchase price for part i, and Y_(ij)represents an on-hand inventory for part i at location j.

e. The overall inventory investment is less than or equal to an overallinventory investment limit Inv, which may be expressed by Expression(13e):

$\begin{matrix}{{\sum\limits_{i = 1}^{I}{C_{i}X_{i\; j}}} \leq {Inv}} & \left( {13e} \right)\end{matrix}$

f. The overall inventory cost is less than or equal to overall budget B,which may be expressed by Expression (13f):

$\begin{matrix}{{{\sum\limits_{j = 1}^{J}\left\{ {\sum\limits_{i = 1}^{I}\left\lbrack {{h_{i\; j}\left( {S_{i\; j} - \mu_{i\; j} + {E\; B\; O_{i\; j}}} \right)} + {k_{i}\lambda_{i\; j}}} \right\rbrack} \right\}} + {\sum\limits_{j}{\sum\limits_{i = 1}^{I}{C_{i}x_{i\; j}}}}} \leq B} & \left( {13f} \right)\end{matrix}$

where h_(ij) represents a holding cost per unit of part i at location j,and k_(i) represents an order cost for part i.

g. The cost at each location j is less than or equal to a budget B_(j)at location j, which may be expressed by Expression (13g):

$\begin{matrix}{{{\sum\limits_{i = 1}^{I}\left\lbrack {{h_{i\; j}\left( {S_{i\; j} - \mu_{i\; j} + {E\; B\; O_{i\; j}}} \right)} + {k_{i}\lambda_{i\; j}} + {C_{i}\left( {S_{i\; j} + {\gamma_{i}\lambda_{i\; j}} - Y_{i\; j}} \right)}^{+}} \right\rbrack} \leq B_{j}},{\forall j}} & \left( {13g} \right)\end{matrix}$

h. The total volume occupied by parts at each location j is less than orequal to the volume capacity limit V_(j) at location j, which may beexpressed by Expression (13h):

$\begin{matrix}{{{\sum\limits_{i = 1}^{I}{v_{i}S_{i\; j}}} \leq V_{j}},{\forall j}} & \left( {13h} \right)\end{matrix}$

i. The stock levels S_(ij) are integers, which may be expressed byExpression (13i):S_(ij) are integers  (13i)At step 150, the coverage function is converted to a backorder functionthat corresponds to expected backorders, and the constraints areexpressed in terms of backorders. Using the backorder function mayprovide for a simpler optimization process. The backorder function maybe Expression (14):

$\begin{matrix}{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}{E\; B\;{O_{i\; j}\left( S_{i\; j} \right)}}}} & (14)\end{matrix}$Minimizing the backorder function is equivalent to maximizing thecoverage function. The constraints may be expressed by Expressions(14a):

$\begin{matrix}{{{S_{i\; j} \geq S_{i\; j}^{M}},{\forall i},{\forall j}}{{{\sum\limits_{i = 1}^{I}{E\; B\;{O_{i\; j}\left( S_{i\; j} \right)}}} \leq {\left( {1 - \varpi_{j}} \right){\sum\limits_{i = 1}^{I}\mu_{i\; j}}}},{\forall j}}{{X_{i\; j} \geq {S_{i\; j} + \left\lceil {{\gamma_{i}\lambda_{i\; j}} - Y_{i\; j}} \right\rceil}},{\forall i}}{{{\sum\limits_{j = 1}^{J}\left\{ {\sum\limits_{i = 1}^{I}\left\lbrack {{h_{i\; j}\left( {S_{i\; j} - \mu_{i\; j} + {E\; B\; O_{i\; j}}} \right)} + {k_{i}\lambda_{i\; j}}} \right\rbrack} \right\}} + {\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}{C_{i}x_{i\; j}}}}} \leq B}{{{\sum\limits_{i = 1}^{I}\left\lbrack {{h_{i\; j}\left( {S_{i\; j} - \mu_{i\; j} + {E\; B\; O_{i\; j}}} \right)} + {k_{i}\lambda_{i\; j}} + {C_{i}\left( {S_{i\; j} + {\gamma_{i}\lambda_{i\; j}} - Y_{i\; j}} \right)}} \right\rbrack} \leq B_{j}},{\forall j}}{{{\sum\limits_{i = 1}^{I_{1}}{v_{i}S_{\;{i\; j}}}} \leq V_{j}},{\forall j}}} & \left( {14a} \right)\end{matrix}$S_(ij) are integers

where

S_(i j)^(M)represents the minimum stock level that guarantees the minimum targetcoverage. The high degree of non-linearity of the constraints may bereduced by replacing the minimum target coverage constraint for eachpart at each location expressed by Expression (14a) with an equivalentconstraint expressed as

S_(i j) ≥ S_(i j)^(M), ∀i, ∀j.the definition of the number of new purchases expressed by Expression(14b) may be replaced with a relaxed constraint expressed asX _(ij) ≧S _(ij)+┌γ_(i)λ_(ij) −Y _(ij) ┐,∀i.

Maximization of the coverage function may be shown to be equivalent tominimizing the backorder function. The weighted average of coverage fordistribution network 20 may be expressed by Expression (14b):

$\begin{matrix}{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}{\beta_{i\; j}{\theta_{i\; j}\left( S_{i\; j} \right)}}}} & \left( {14b} \right)\end{matrix}$where θ_(ij)(S_(ij)) represents the coverage for part i at location jdefined by Equation (14c):

$\begin{matrix}{{\theta_{i\; j}\left( S_{i\; j} \right)} = {\left\{ {{\sum\limits_{x = 0}^{S_{i\; j}}{x\;{P\left( X \middle| \mu_{i\; j} \right)}}} + {\chi{\sum\limits_{x = {S_{i\; j} + 1}}^{\infty}{S_{i\; j}{P\left( X \middle| \mu_{i\; j} \right)}}}}} \right\}/\mu_{i\; j}}} & \left( {14c} \right)\end{matrix}$The backorder function describes the total expected number of backordersfor distribution network 20 and may be expressed by Expression (14d):

$\begin{matrix}{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}{E\; B\;{O_{i\; j}\left( S_{i\; j} \right)}}}} & \left( {14d} \right)\end{matrix}$

The following proposition may be established:

Proposition 1: Vector S_(j)=(S_(lj), . . . , S_(Ij)) satisfies theperformance constraint expressed by Expression (14e):

$\begin{matrix}{{\sum\limits_{i = 1}^{I}{\mu_{i\; j}{\theta_{i\; j}\left( S_{i\; j} \right)}}} \geq {\omega_{j}{\sum\limits_{i = 1}^{j}\mu_{i\; j}}}} & \left( {14e} \right)\end{matrix}$if and only if vector S_(j) satisfies an expected backorders constraintexpressed by Expression (14f):

$\begin{matrix}{{\sum\limits_{i = 1}^{I}{E\; B\;{O_{i\; j}\left( S_{i\; j} \right)}}} \leq {\left( {1 - \omega_{j}} \right){\sum\limits_{i = 1}^{I}\mu_{i\; j}}}} & \left( {14f} \right)\end{matrix}$A relationship between expected backorder EBO_(ij) (S_(ij)) andperformance θ_(ij)(S_(ij)) may be established according to Equations(14g):

$\begin{matrix}{{{\theta_{i\; j}\left( S_{i\; j} \right)} = {\left\{ {\mu_{i\; j} - {\sum\limits_{x = {S_{i\; j} + 1}}^{\infty}{x\;{P\left( X \middle| \mu_{i\; j} \right)}}} + {\chi{\sum\limits_{x = {S_{i\; j} + 1}}^{\infty}{S_{i\; j}{P\left( X \middle| \mu_{i\; j} \right)}}}}} \right\}/\mu_{i\; j}}}{{\theta_{i\; j}\left( S_{i\; j} \right)} = {\left\{ {\mu_{i\; j} - {\sum\limits_{x = S_{i\; j}}^{\infty}{\left( {x - {\chi\; S_{i\; j}}} \right){P\left( X \middle| \mu_{i\; j} \right)}}}} \right\}/\mu_{i\; j}}}{{\theta_{i\; j}\left( S_{i\; j} \right)} = {{\left\{ {\mu_{i\; j} - {E\; B\;{O_{i\; j}\left( S_{{i\; j}\;} \right)}}} \right\}/\mu_{{i\; j}\;}} = {1 - {\left\{ {E\; B\;{O_{i\; j}\left( S_{i\; j} \right)}} \right\}/\mu_{i\; j}}}}}{{E\; B\;{O_{i\; j}\left( S_{{i\; j}\;} \right)}} = {\mu_{{i\; j}\;}\left\lbrack {1 - {\theta_{{i\; j}\;}\left( S_{i\; j} \right)}} \right\rbrack}}} & \left( {14g} \right)\end{matrix}$

For any set of S_(ij) that satisfies the performance constraintexpressed by Expression (14f), the following Expressions (14h) may beshown:

$\begin{matrix}{{{\sum\limits_{i = 1}^{I}{E\; B\;{O_{i\; j}\left( S_{{i\; j}\;} \right)}}} \leq {\left( {1 - \omega_{j}} \right){\sum\limits_{i = 1}^{I}\mu_{i\; j}}}}{{\sum\limits_{i = 1}^{I}{\mu_{i\; j}\left\lbrack {1 - {\theta_{i\; j}\left( S_{{i\; j}\;} \right)}} \right\rbrack}} \leq {\left\lbrack {1 - \omega_{j}} \right\rbrack{\sum\limits_{i = 1}^{I}\mu_{i\; j}}}}{{{\sum\limits_{i = 1}^{I}\mu_{i\; j}} - {\sum\limits_{i = 1}^{I}{\mu_{i\; j}{\theta_{i\; j}\left( S_{{i\; j}\;} \right)}}}} \leq {{\sum\limits_{i = 1}^{I}\mu_{i\; j}} - {\omega_{j}{\sum\limits_{i = 1}^{I}\mu_{i\; j}}} - {\sum\limits_{i = 1}^{I}{\mu_{i\; j}{\theta_{i\; j}\left( S_{{i\; j}\;} \right)}}}} \leq {\omega_{j}{\sum\limits_{i = 1}^{I}\mu_{i\; j}}}}{{\sum\limits_{i = 1}^{I}{\mu_{i\; j}{\theta_{i\; j}\left( S_{{i\; j}\;} \right)}}} \geq {\omega_{j}{\sum\limits_{i = 1}^{I}\mu_{i\; j}}}}} & \left( {14h} \right)\end{matrix}$The stock level S_(ij) in question satisfies the location performanceconstraint expressed by Equations (14g). The steps may be reversed toprove the converse.

The following proposition describing the relationship betweenperformance and coverage may be established:

Proposition: Maximizing system-wide coverage is equivalent to minimizingthe total system-wide backorders.

The proposition may be established according to Equations (14i):

Maximize

$\begin{matrix}{{{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}{\mu_{i\; j}{\theta_{i\; j}\left( S_{{i\; j}\;} \right)}}}} = {{{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}1}} - {E\; B\;{O_{i\; j}\left( S_{i\; j} \right)}}} = {{1 - {\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}{E\; B\;{O_{i\; j}\left( S_{i\; j} \right)}}}}} = {{- \left\lbrack {\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}{E\; B\;{O_{i\; j}\left( S_{i\; j} \right)}}}} \right\rbrack} - 1}}}}{{{Maximize} - \left\lbrack {\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}{E\; B\;{O_{i\; j}\left( S_{i\; j} \right)}}}} \right\rbrack - 1} \equiv {{Maximize}{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}{E\; B\;{O_{i\; j}\left( S_{i\; j} \right)}}}}}}} & \left( {14i} \right)\end{matrix}$

At step 154, the objective function that measures expected backorder asexpressed by Expression (13) may be linearized. To linearize theobjective function and constraints, the non-linear terms of theobjective function and constraints may be approximated by linear terms.The non-linear terms are discrete and convex, so a first-order linearapproximation using the finite difference for two neighboringdiscontinuous points may be used to approximate each non-linear term.Each non-linear term in the objective function and the constraints isreplaced with a continuous variable t_(ij), and a linearizationconstraint that describes the under estimation at points ofdiscontinuity is added to the constraints.

The linearized objective function may be expressed by Expression (15):

$\begin{matrix}{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}t_{i\; j}}} & (15)\end{matrix}$The linearization constraint may be expressed by Expression (16):t _(ij) ≧m _(ij)(X−X _(ij))+b _(ij) ,∀S _(ij) <X _(ij) ≦S _(upper),∀i,j  (16)where m_(ij)=P(X>X_(ij)|μ_(ij)),b_(ij)=P(X>X_(ij)|μ_(ij))(X−X_(ij))+EBO_(ij)(X_(ij)+1), and S_(upper) isthe upper bound on the inventory for part i at location j. Otherconstraints may be expressed by Expressions (16a):

$\begin{matrix}{{{S_{i\; j} \geq S_{i\; j}^{M}},{{\forall j} = 1},{\ldots\mspace{14mu} I_{1}},{\forall{{{j\left\lbrack {{\sum\limits_{i = 1}^{I}{\sum\limits_{x = 0}^{S_{i\; j}}{\left\lbrack {x - {\chi\; S_{i\; j}}} \right\rbrack{P\left( X \middle| \mu_{i\; j} \right)}}}} + {\chi\; S_{i\; j}}} \right\rbrack}/{\sum\limits_{i = 1}^{I}\mu_{i\; j}}} \geq \omega_{j}}},{\forall j}}{{X_{i\; j} \geq {{\sum\limits_{j = 1}^{J}S_{i\; j}} + {\gamma_{i}\lambda_{i\; j}} - Y_{i\; j}}},{{\forall i} = 1},\ldots\mspace{14mu},I}{{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}\left\lbrack {{h_{i\; j}\left( {S_{i\; j} - \mu_{i\; j} + t_{i\; j}} \right)} + {k_{i}\lambda_{i\; j}} + {C_{i}x_{i\; j}}} \right\rbrack}} \leq B}{{{\sum\limits_{i = 1}^{I}\left\lbrack {{h_{i\; j}\left( {S_{i\; j} - \mu_{i\; j} + t_{i\; j}} \right)} + {k_{i}\lambda_{i\; j}}} \right\rbrack} \leq B_{j}},{\forall j}}{{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}{C_{i}\left( {S_{i\; j} + {\gamma_{i}\lambda_{i\; j}} - Y_{i\; j}} \right)}}} \leq {Inv}}{{{\sum\limits_{i = 1}^{I_{1}}{C_{i}\left( {S_{i\; j} + {\gamma_{i}\lambda_{i\; j}} - Y_{i\; j}} \right)}} \leq {Inv}_{j}},{\forall j}}{{{\sum\limits_{i = 1}^{I_{1}}{v_{1}S_{i\; j}}} \leq {V - j}},{\forall j}}} & \left( {16a} \right)\end{matrix}$S_(ij) are integers,∀i=1, . . . ,I₂,∀jAfter linearizing, deployment module 40 solves the resulting mixedinteger-programming problem and determines the optimal stock levels foreach part at each location.

An objective function measuring the system-wide total cost may also bedefined at step 154. The total cost function may be expressed byExpression (16b):

$\begin{matrix}{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}\left\lbrack {{h_{i\; j}\left( {S_{i\; j} - \mu_{i\; j} + {E\; B\; O_{i\; j}}} \right)} + {k_{i}\lambda_{i\; j}} + {C_{i}x_{i\; j}}} \right\rbrack}} & \left( {16b} \right)\end{matrix}$The constraints for the total cost function may be expressed byExpressions (16c):

$\begin{matrix}{{{S_{i\; j} \geq S_{i\; j}^{M}},{{\forall i} = {1\Lambda\mspace{14mu} I}},{\forall{{{j\left\lbrack {{\sum\limits_{i = 1}^{I}{\sum\limits_{x = 0}^{S_{i\; j}}{\left\lbrack {x - {\chi\; S_{i\; j}}} \right\rbrack{P\left( X \middle| \mu_{i\; j} \right)}}}} + {\chi\; S_{i\; j}}} \right\rbrack}/{\sum\limits_{i = 1}^{I}\mu_{i\; j}}} \geq \omega_{j}}},{\forall j}}{{{X_{i\; j} \geq {S_{i\; j} + {\left\lceil {{\gamma_{i}\lambda_{i\; j}} - Y_{i\; j}} \right\rceil{\forall i}}}} = 1},\ldots\mspace{14mu},I}{{{\sum\limits_{i = 1}^{I_{1}}{v_{1}S_{i\; j}}} \leq {V\;}_{j}},{\forall j}}{{S_{i\; j}\mspace{14mu}{are}\mspace{14mu}{integers}},{{\forall i} = 1},\ldots\mspace{14mu},I,{\forall j}}} & \left( {16c} \right)\end{matrix}$

The total cost function and the constraints may also be linearized atstep 154 in order to allow the objective function to be optimized bysolver 39. The total cost objective function, as expressed by Expression(16b), may be linearized according to Expression (16d):

$\begin{matrix}{\sum\limits_{j = 1}^{J}{\sum\limits_{i = 1}^{I}\left\lbrack {{h_{i\; j}\left( {S_{i\; j} - \mu_{i\; j} + t_{i\; j}} \right)} + {k_{i}\lambda_{i\; j}} + {C_{i}x_{i\; j}}} \right\rbrack}} & \left( {16d} \right)\end{matrix}$The constraints may be linearized according to Expressions (16e):

$\begin{matrix}{{{t_{i\; j} \geq {{m_{i\; j}\left( {S - X_{i\; j}} \right)} + b_{i\; j}}},{\forall{S_{i\; j}^{M} < X_{j} \leq S_{upper}}},{\forall i},j}{{S_{i\; j} \geq S_{i\; j}^{M}},{{\forall i} = 1},{\Lambda\mspace{14mu} I_{1}},{\forall j}}{{{\sum\limits_{i = 1}^{I}t_{i\; j}} \geq {\left( {1 - \omega} \right){\sum\limits_{i = 1}^{I}\mu_{i\; j}}}},{/{\forall j}}}\mspace{14mu}{{X_{i\; j} \geq {S_{i\; j} + \left\lceil {{\gamma_{i}\lambda_{i\; j}} - Y_{i\; j}} \right\rceil}},{{\forall i} = 1},\ldots\mspace{14mu},I}{{{\sum\limits_{i = 1}^{I_{1}}{v_{i}S_{i\; j}}} \leq V_{j}},{\forall j}}{{S_{i\; j}\mspace{14mu}{are}\mspace{14mu}{integers}},{{\forall i} = 1},\ldots\mspace{14mu},I_{2},{\forall j}}} & \left( {16e} \right)\end{matrix}$After linearizing, deployment module 40 solves the resulting mixedinteger-programming problem and determines the optimal stock levels foreach part at each location.

Although an example of the invention and its advantages are described indetail, a person skilled in the art could make various alterations,additions, and omissions without departing from the spirit and scope ofthe present invention as defined by the appended claims.

1. A computer-implemented system for deploying parts, comprising one ormore processing units operable to execute one or more softwarecomponents to: define a plurality of locations comprising a plurality ofsupply locations and a plurality of demand locations, a supply locationbeing operable to supply a plurality of parts to a demand location;compute a demand for each part at each location; estimate anavailability lead-time for each part at each location; compute alead-time demand for each part at each location using the availabilitylead-times for the part; compute a stock level for each part at eachlocation; determine a completely filled demand from the lead-timedemands and the stock levels; determine a partially filled demand fromthe lead-time demands and the stock levels; and generate a coveragefunction for the parts at the locations from the completely filleddemand and the partially filled demand.
 2. The system of claim 1,wherein the one or more processing units are operable to execute the oneor more software components further to: optimize the coverage function;and determine an optimal deployment of the parts at the locationsaccording to the optimized coverage function.
 3. The system of claim 1,wherein the one or more processing units are operable to execute the oneor more software components further to: determine a completelybackordered demand from the lead-time demands and the stock values;determine a partially backordered demand from the lead-time demands andthe stock values; generate a backorder function for the parts at thelocations from the completely back ordered demand and the partiallybackordered demand; minimize the backorder function; and determine anoptimal deployment of the parts at the locations according to theminimized backorder function.
 4. The system of claim 1, wherein the oneor more processing units are operable to execute the one or moresoftware components further to: generate a cost function for the partsat the locations; minimize the cost function; and determine an optimaldeployment of the parts at the locations according to the minimized costfunction.
 5. The system of claim 1, wherein the one or more processingunits are operable to execute the one or more software components tocompute the lead-time demand for a part at a location comprising ademand location by: calculating a probability that a supply location cansupply the part to the demand location; computing a replenishmentlead-time at the demand location according to the probability; andcomputing the lead-time demand at the demand location from the demand atthe demand location and the replenishment lead-time at the demandlocation.
 6. The system of claim 1, wherein the one or more processingunits are operable to execute the one or more software components tocompute the lead-time demand for a part at a location by: receiving anordered list comprising at least a subset of the supply locations;repeating the following for each supply location of the ordered list:calculating a probability that a supply location supplies the part tothe demand location, given that no other supply location has suppliedthe part; and selecting the next supply location of the ordered list;and estimating the availability lead-time at the location from thecalculated probabilities.
 7. The system of claim 1, wherein the one ormore processing units are operable to execute the one or more softwarecomponents to estimate the availability lead-time for a part at alocation comprising a target demand location by: estimating anavailability lead-time for the part at a supply endpoint; and repeatingthe following until the target demand location is reached: estimating anavailability lead-time for the part at a supply location; and estimatingan replenishment lead-time for the part at a demand location accordingto the availability lead-time for the part at the supply location, thesupply location operable to supply the part to the demand location. 8.The system of claim 1, wherein the one or more processing units areoperable to execute the one or more software components to compute thedemand for a part at a location comprising a supply location by:calculating a demand at a demand location operable to receive the partfrom the supply location; calculating a dependent demand at a locationaccording to the demand at the demand location for the location;identifying an independent demand at the supply location; and computingthe demand at the supply location from the dependent demand and theindependent demand.
 9. The system of claim 1, wherein the one or moreprocessing units are operable to execute the one or more softwarecomponents to compute the demand for a part at a location comprising asupply location by: calculating a demand at a demand location operableto receive the part from the supply location; establishing a probabilityof repairing the part at the demand location; and determining the demandat the supply location according to the demand at the demand locationand the probability of repairing the part at the demand location. 10.The system of claim 1, wherein the one or more processing units areoperable to execute the one or more software components to compute thedemand for a part at a location comprising a target supply location by:calculating a demand at a demand endpoint; and repeating the followinguntil the target supply location is reached: calculating a demand at ademand location; and calculating a demand at a supply location operableto supply the part to the demand location according to the demand at thedemand location.